package com.msxt.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.msxt.dto.NewsEntity;
import com.msxt.utils.PageUtils;
import com.msxt.view.NewsView;
import com.msxt.vo.NewsVO;

import java.util.List;
import java.util.Map;

/**
 * 公告信息服务接口
 */
public interface NewsService extends IService<NewsEntity> {

	/**
	 * 分页查询公告信息
	 * @param params 查询参数
	 * @return 分页结果
	 */
	PageUtils queryPage(Map<String, Object> params);

	/**
	 * 查询公告信息VO列表
	 * @param wrapper 查询条件
	 * @return VO列表
	 */
	List<NewsVO> listVO(QueryWrapper<NewsEntity> wrapper);

	/**
	 * 查询单个公告信息VO
	 * @param wrapper 查询条件
	 * @return VO对象
	 */
	NewsVO selectVO(QueryWrapper<NewsEntity> wrapper);

	/**
	 * 查询公告信息视图列表
	 * @param wrapper 查询条件
	 * @return 视图列表
	 */
	List<NewsView> listView(QueryWrapper<NewsEntity> wrapper);

	/**
	 * 查询单个公告信息视图
	 * @param wrapper 查询条件
	 * @return 视图对象
	 */
	NewsView selectView(QueryWrapper<NewsEntity> wrapper);

	/**
	 * 带条件分页查询公告信息
	 * @param params 查询参数
	 * @param wrapper 查询条件
	 * @return 分页结果
	 */
	PageUtils queryPage(Map<String, Object> params, QueryWrapper<NewsEntity> wrapper);
}